home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 045 (1988-02-15)(Ossowski, Stefan)(DE)(PD).zip
/
Taifun 045 (1988-02-15)(Ossowski, Stefan)(DE)(PD).adf
/
Iff2Pcs
/
Source
/
pzargs.c
< prev
next >
Wrap
C/C++ Source or Header
|
1988-01-20
|
1KB
|
43 lines
#include "pz.h"
/* IFF2PCS input argument parsing from CLI or Workbench.
** This code should also put up a requester if no argument is specified...
** But doesn't yet.
** Ali Ozer, Nov 1987
*/
/* If called from CLI, argc > 0 and *argv contains program name and arguments.
** If called from WB, argc == 0 and msg points to the arguments.
** Note that ParseFile returns an AmigaDOS file handle as opposed to a C
** file handle. ParseFile will either NOT return or return NULL if something
** goes wrong.
*/
struct FileHandle *ParseArgs (argc, argv, msg)
int argc;
char **argv;
struct WBStartup *msg;
{
struct WBArg *arg;
struct FileHandle *fp = NULL;
if (argc != 0) { /* Running from the CLI */
if (argc != 2) Panic ("Usage: IFF2PCS ifffilename");
else fp = Open (argv[1], MODE_OLDFILE);
} else { /* Else a WB argument... */
if ((msg == NULL) ||
(msg->sm_NumArgs < 2) ||
((arg = (msg->sm_ArgList)+1) == NULL))
Panic ("You need to specify a file (See IFF2PCS.DOC)");
else {
struct Lock *olddir = CurrentDir (arg->wa_Lock);
fp = Open (arg->wa_Name, MODE_OLDFILE);
if (olddir) CurrentDir (olddir);
}
}
return (fp);
}